package com.eds.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pojo.TeacherSchedule;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 *
 * @ClassName：TeacherScheduleService
 * @Author: vvSmile
 * @Date: 2025/03/26
 * @Description: 必须描述类做什么事情, 实现什么功能
 */
@Service
public interface TeacherScheduleService extends IService<TeacherSchedule> {
    //处理课程安排数据
    Boolean insertSchedule(TeacherSchedule schedule);

    //查询课程时间
    List<TeacherSchedule> selectTeacherSchedules(Long courseId);

    //更新课程时间状态为-1
    Boolean updateScheduleStatusDel(Long courseId);

    //更新课程时间
    Boolean updateScheduleInfo(TeacherSchedule teacherSchedule);

    //删除所有的Schedule
    int deleteAllSchedule(Long courseId);

    //根据scheduleId查询课程安排
    TeacherSchedule selectTeacherSchedulesByScheduleId(Long scheduleId);

    //更新课程安排状态
    Boolean updateScheduleStatusReverseBooking(TeacherSchedule teacherSchedule);

    //根据scheduleId查询课程安排
    TeacherSchedule selectCourseIdByScheduleId(Long scheduleId);

    //删除课程安排
    Boolean delSchedule(TeacherSchedule teacherSchedule);

    //根据scheduleId查询课程安排
    TeacherSchedule selectTeacherSchedulesBySchedule(TeacherSchedule teacherSchedule);

    //根据scheduleId和userId查询课程安排
    TeacherSchedule selectTeacherSchedulesByScheduleAndUserId(TeacherSchedule teacherSchedule);

    //根据scheduleId和userId查询课程安排
    List<TeacherSchedule> selectTeacherSchedulesByUserId(Long userId);

    //更新课程安排状态
    int updateScheduleStatus(Long scheduleId, int status);
}
